package bancosys.tec.utils.db.converter;

import java.io.File;
import java.io.FileNotFoundException;
import java.net.MalformedURLException;
import java.net.URL;

/**
 * Conversor nulo, não executa conversão alguma.
 */
public class NullConverter extends StatementDbConverter {

    /**
     * Construtor.
     * 
     * @param inputFile arquivo de entrada.
     * @param outputFile arquivo de saída.
     * @param dbName nome do banco.
     * @throws FileNotFoundException arquivo nao encontrado.
     * @throws MalformedURLException erro no url do arquivo.
     */
    public NullConverter(File inputFile, File outputFile, String dbName) throws FileNotFoundException, MalformedURLException {
        super(inputFile, outputFile, dbName);
    }

    /**
     * Construtor.
     * 
     * @param inputFile arquivo de entrada.
     * @param outputFile arquivo de saida.
     * @param dbName nome do banco.
     */
    public NullConverter(URL inputFile, File outputFile, String dbName) {
        super(inputFile, outputFile, dbName);
    }

    /**
     * Devolve ""
     * 
     * @return ""
     */
    @Override
    protected String getHeader() {
        return "";
    }

    /**
     * Devolve o <code>statement</code> inalterado
     * 
     * @param statement statement
     * @return o <code>statement</code> inalterado
     */
    @Override
    protected String convertStatement(String statement) {
        return statement;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    protected boolean gotDelimiter(String line) {
        return line.matches("^" + this.getOldStatementDelimiterChar() + "$");
    }

    /**
     * Devolve '/'
     * 
     * @return '/'
     */
    @Override
    protected char getOldStatementDelimiterChar() {
        return '/';
    }

    /**
     * Devolve ';'
     * 
     * @return ';'
     */
    @Override
    protected char getNewStatementDelimiterChar() {
        return ';';
    }
}
